Beginning Xamarin Development for the Mac by Dawid Borycki
Author:Dawid Borycki
Language: eng
Format: epub
Publisher: Apress, Berkeley, CA
AddSquare(50.0f, UIColor.Purple);
AddPanGestureRecognizer();
}
Listing 5-7. ViewDidLoad Method of the ViewController
Figure 5-7.Translating the square with the pan gesture
Detecting Gesture Location
To get the location of the touch, you use the LocationInView method of the gesture-recognizer class instance. This method is available for all gesture recognizers because it is implemented in the UIGestureRecognizer class, which all other gesture recognizers derive from. You can also track the location of the particular touches (fingers) doing the gesture with the LocationOfTouch method. Both methods return the CGPoint struct. Its X and Y properties store the geometrical location of the gesture (or particular finger) on the screen.
In the Gestures app, I use the LocationInView method to check whether the pan gesture is performed on the purple square. As Listing 5-8 shows, I employ this method to implement another helper function, IsTouchLocationWithinSquare. The latter reads the touch location within the main view and then checks if it’s contained within the square. To that end, I use the Contains method of the square.Frame property. Contains calculates if the X and Y components of the location (CGPoint struct) are within the rectangle (Frame property) enclosing the purple square. If so, I can translate the square. Therefore, I modify the TranslateSquare method (Listing 5-6) by first invoking IsTouchLocationWithinSquare. Then, if this method returns true, I create the translation transformation for the square (Listing 5-9).
private bool IsTouchLocationWithinSquare(
UIPanGestureRecognizer panGestureRecognizer)
{
var location = panGestureRecognizer.LocationInView(View);
Download
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.
The Mikado Method by Ola Ellnestam Daniel Brolund(25294)
Hello! Python by Anthony Briggs(24339)
Secrets of the JavaScript Ninja by John Resig Bear Bibeault(23434)
Kotlin in Action by Dmitry Jemerov(22512)
The Well-Grounded Java Developer by Benjamin J. Evans Martijn Verburg(21976)
Dependency Injection in .NET by Mark Seemann(21849)
OCA Java SE 8 Programmer I Certification Guide by Mala Gupta(20715)
Algorithms of the Intelligent Web by Haralambos Marmanis;Dmitry Babenko(19523)
Grails in Action by Glen Smith Peter Ledbrook(18609)
Adobe Camera Raw For Digital Photographers Only by Rob Sheppard(17034)
Sass and Compass in Action by Wynn Netherland Nathan Weizenbaum Chris Eppstein Brandon Mathis(15843)
Secrets of the JavaScript Ninja by John Resig & Bear Bibeault(13695)
Test-Driven iOS Development with Swift 4 by Dominik Hauser(11857)
Jquery UI in Action : Master the concepts Of Jquery UI: A Step By Step Approach by ANMOL GOYAL(11151)
A Developer's Guide to Building Resilient Cloud Applications with Azure by Hamida Rebai Trabelsi(10627)
Hit Refresh by Satya Nadella(9202)
The Kubernetes Operator Framework Book by Michael Dame(8570)
Exploring Deepfakes by Bryan Lyon and Matt Tora(8414)
Robo-Advisor with Python by Aki Ranin(8361)